package Controller.ProdutoController;

import javax.swing.JOptionPane;

import DAO.ProdutoDAO;
import Entidade.Produto;
import Model.ProdutoModel.ProdutoConsultaModel;
import View.ProdutoView.ProdutoView;
import framework.mvc.GenericController;

public class ProdutoConsultaController extends GenericController<Produto> {
	public ProdutoConsultaController() {
		super(new ProdutoConsultaModel(), new ProdutoDAO());
	}

	public void novo() {
		ProdutoView produtoview = new ProdutoView();
		produtoview.abrir();
		view.atualizarView();
	}

	public void alterar() {
		view.atualizarModel();
		Produto produtoSelecionado = ((ProdutoConsultaModel) model)
				.getProdutoSelecionado();
		if (produtoSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o Produto que deseja alterar", "Erro",
					JOptionPane.ERROR_MESSAGE);

		} else {
			ProdutoView produtoView = new ProdutoView();
			produtoView.getModel().setEntidade(produtoSelecionado);
			produtoView.atualizarView();
			produtoView.abrir();
			view.atualizarView();
		}
	}

	public void excluir() {
		view.atualizarModel();
		Produto produtoSelecionado = ((ProdutoConsultaModel) model)
				.getProdutoSelecionado();
		if (produtoSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o contato que deseja excluir", "Erro",
					JOptionPane.ERROR_MESSAGE);
		} else {
			if (JOptionPane.showConfirmDialog(null,
					"Deseja realmente excluir este Produto?") == JOptionPane.YES_OPTION) {
				getDao().excluir(produtoSelecionado);
				view.atualizarView();
			}
		}
	}

	public void fechar() {
		view.dispose();
	}
}
